package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 项目客户需求记录 t_customer_requirement_record
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_customer_requirement_record")
public class CustomerRequirementRecord {

    @TableId(value = "id", type = IdType.AUTO)
    /** 主键ID */
    private Long id;

    @TableField("project_id")
    /** 项目ID */
    private Long projectId;

    @TableField("project_no")
    /** 项目编号 */
    private String projectNo;

    @TableField("template_item_code")
    /** 模板项代码（与模板项表 code 对应，用于幂等更新） */
    private String templateItemCode;

    @TableField("template_item_label")
    /** 模板项中文名称快照 */
    private String templateItemLabel;

    @TableField("option_type")
    /** 选项类型快照 */
    private String optionType;

    @TableField("value_text")
    /** 填写值：单值直接字符串，多选为 JSON 数组字符串 */
    private String valueText;

    @TableField("designer_id")
    /** 填写的设计师ID */
    private Long designerId;

    @TableField("designer_name")
    /** 填写的设计师姓名 */
    private String designerName;

    @TableField("remark")
    /** 备注 */
    private String remark;

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    /** 创建时间 */
    private LocalDateTime createTime;

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    /** 更新时间 */
    private LocalDateTime updateTime;

    @TableField(value = "create_by", fill = FieldFill.INSERT)
    /** 创建人ID */
    private Long createBy;

    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    /** 更新人ID */
    private Long updateBy;

    @TableLogic
    @TableField("deleted")
    /** 逻辑删除：0-未删除，1-已删除 */
    private Integer deleted;
}


